Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра СКС
Курсова робота
з курсу: “Дослідження та проектування СКС”
на тему: „РОЗРОБКА VHDL МОДЕЛІ КОМП’ЮТЕРА”
Львів-2009
Зміст
1. Вихідні дані на проектування і їхній аналіз ..............................................3
2. Внутрішня структура байту ........................................................................4
3. Розробка архітектури рівня машинних інструкцій ...................................5
4. Програмна модель комп’ютера ...................................................................8
5. Розробка VHDL моделі тестової програми ................................................9
6. Розробка VHDL моделі процесора..............................................................10
7. Розробка VHDL моделі пам’яті даних…....................................................20
8. Розробка VHDL моделі пам’яті програм....................................................25
9. Розробка VHDL моделі комп’ютера...........................................................29
--10. Розробка VHDL моделі додаткового апаратного блоку ……………….35
Література....................................................................................................33
1. Вихідні дані на проектування
Скласти, імлементувати і верифікувати VHDL модель чотирибітового вбудованого до ПЛІС (софт) комп’ютера, що містить процесор, пам'ять даних і машинних кодів. Цільові ПЛІС – від фірми Ксайлінкс, родини Віртекс або Спартан. САПР розробки – Ксайлінкс WebPack, симулятор – ModeSim Model Тechnologies .
За основу архітектури чотирибітового процессора рівня машинних інструкцій прийняти архітектуру процесора Gnome [1, стор. 253], а за основу прототипної плати прийняти прототипну плату XS40 [1, стор. 325]. Розробити принципову схему відповідного проекту апаратного емулятора (прототипної плати).
Провести модифікацію готової моделі мікрокомп’ютера згідно до власного варіанту: Варіант № 14.
2. Внутрішня структура байту
Маємо комп’ютер з чотири бітовими даними і байтовими інструкціями. Сусідні чотири біти формтату, що утворюють єдине поле певного призначення називають ніблом (nibble, тетрада). Один байт містить дві тетради:
найбільш значний нібл (MSN, в нас - розташований ліворуч);
найменш значний нібл (LSN, в нас – розташований праворуч).
Приймаємо, що нумерація бітів в байті відбувається зправа наліво. При цьому найбільш значним є лівий сьомий біт, а найменш значним – правий нульовий біт.
3. Розробка архітектури рівня машинних інструкцій
Інформацію про інструкції, що виконує процесор “Гном” подамо наступними двома таблицями.
Таблиця 1 – Перелік і функції машинних інструкцій процесора “Гном”
Система інструкцій належить до класу RISC:
набір інструкцій скорочений до мінімуму;
інструкції мають код операції однакової довжини;
інструкції приведені до одного стандартного для всієї їх множини виду.
Таблиця 2 – Кодування і виконання в часі машинних інструкцій
IR –регістр інструкції, а [IR..IR0] – бінарний код, що зберігає його молодший нібл.
([IR3..IR0]) – вмістиме комірки пам’яты даних за адресою, що містить молодший нібл регістра інструкцій.
Виконання будь-якої інструкції розкладено на три часові інтервали:
FETCH, вибирання нової інструкції з пам’яті інструкцій на регістр інструкцій, обчислення адреси наступної інструкції програми за лінійним правилом “поточна адреса + !”;
DECODE, декодування тепер вже поточної інструкції (в нас – це читання операнду зпам’яті даних до молодшого ніблу регістру інструкцій;
EXECUTE, виконання поточної інструкції за її алгоритмом, що може навіть вимагати кореції вмістимого програмного лічильника РС.
d3, d2, d1, d0, a6, a5, a4, a3, a2, a1, a0 – це окремі біти з формату машинної інструкції.
Зазначимо, що процесор не є конвеєрним. Отже, доки виконуються всі три стадії поточної інстр...